home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / PInterfaces / QD3DErrors.p < prev    next >
Encoding:
Text File  |  1998-04-09  |  12.6 KB  |  300 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QD3DErrors.p
  3.  
  4.      Contains:    Error API and error codes                                        
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.5.4
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QD3DErrors;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QD3DERRORS__}
  28. {$SETC __QD3DERRORS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QD3DErrorsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __QD3D__}
  35. {$I QD3D.p}
  36. {$ENDC}
  37.  
  38. {$IFC TARGET_OS_MAC }
  39. {$IFC UNDEFINED __MACTYPES__}
  40. {$I MacTypes.p}
  41. {$ENDC}
  42. {$ENDC}  {TARGET_OS_MAC}
  43.  
  44.  
  45. {$PUSH}
  46. {$ALIGN POWER}
  47. {$LibExport+}
  48.  
  49. {*****************************************************************************
  50.  **                                                                             **
  51.  **                            Error Types and Codes                             **
  52.  **                                                                             **
  53.  ****************************************************************************}
  54.  
  55. TYPE
  56.     TQ3Error                     = LONGINT;
  57. CONST
  58.     kQ3ErrorNone                = {TQ3Error}0;                    {  Fatal Errors  }
  59.     kQ3ErrorInternalError        = {TQ3Error}-28500;
  60.     kQ3ErrorNoRecovery            = {TQ3Error}-28499;
  61.     kQ3ErrorLastFatalError        = {TQ3Error}-28498;                {  System Errors  }
  62.     kQ3ErrorNotInitialized        = {TQ3Error}-28490;
  63.     kQ3ErrorAlreadyInitialized    = {TQ3Error}-28489;
  64.     kQ3ErrorUnimplemented        = {TQ3Error}-28488;
  65.     kQ3ErrorRegistrationFailed    = {TQ3Error}-28487;                {  OS Errors  }
  66.     kQ3ErrorUnixError            = {TQ3Error}-28486;
  67.     kQ3ErrorMacintoshError        = {TQ3Error}-28485;
  68.     kQ3ErrorX11Error            = {TQ3Error}-28484;                {  Memory Errors  }
  69.     kQ3ErrorMemoryLeak            = {TQ3Error}-28483;
  70.     kQ3ErrorOutOfMemory            = {TQ3Error}-28482;                {  Parameter errors  }
  71.     kQ3ErrorNULLParameter        = {TQ3Error}-28481;
  72.     kQ3ErrorParameterOutOfRange    = {TQ3Error}-28480;
  73.     kQ3ErrorInvalidParameter    = {TQ3Error}-28479;
  74.     kQ3ErrorInvalidData            = {TQ3Error}-28478;
  75.     kQ3ErrorAcceleratorAlreadySet = {TQ3Error}-28477;
  76.     kQ3ErrorVector3DNotUnitLength = {TQ3Error}-28476;
  77.     kQ3ErrorVector3DZeroLength    = {TQ3Error}-28475;                {  Object Errors  }
  78.     kQ3ErrorInvalidObject        = {TQ3Error}-28474;
  79.     kQ3ErrorInvalidObjectClass    = {TQ3Error}-28473;
  80.     kQ3ErrorInvalidObjectType    = {TQ3Error}-28472;
  81.     kQ3ErrorInvalidObjectName    = {TQ3Error}-28471;
  82.     kQ3ErrorObjectClassInUse    = {TQ3Error}-28470;
  83.     kQ3ErrorAccessRestricted    = {TQ3Error}-28469;
  84.     kQ3ErrorMetaHandlerRequired    = {TQ3Error}-28468;
  85.     kQ3ErrorNeedRequiredMethods    = {TQ3Error}-28467;
  86.     kQ3ErrorNoSubClassType        = {TQ3Error}-28466;
  87.     kQ3ErrorUnknownElementType    = {TQ3Error}-28465;
  88.     kQ3ErrorNotSupported        = {TQ3Error}-28464;                {  Extension Errors  }
  89.     kQ3ErrorNoExtensionsFolder    = {TQ3Error}-28463;
  90.     kQ3ErrorExtensionError        = {TQ3Error}-28462;
  91.     kQ3ErrorPrivateExtensionError = {TQ3Error}-28461;            {  Geometry Errors  }
  92.     kQ3ErrorDegenerateGeometry    = {TQ3Error}-28460;
  93.     kQ3ErrorGeometryInsufficientNumberOfPoints = {TQ3Error}-28459; {  IO Errors  }
  94.     kQ3ErrorNoStorageSetForFile    = {TQ3Error}-28458;
  95.     kQ3ErrorEndOfFile            = {TQ3Error}-28457;
  96.     kQ3ErrorFileCancelled        = {TQ3Error}-28456;
  97.     kQ3ErrorInvalidMetafile        = {TQ3Error}-28455;
  98.     kQ3ErrorInvalidMetafilePrimitive = {TQ3Error}-28454;
  99.     kQ3ErrorInvalidMetafileLabel = {TQ3Error}-28453;
  100.     kQ3ErrorInvalidMetafileObject = {TQ3Error}-28452;
  101.     kQ3ErrorInvalidMetafileSubObject = {TQ3Error}-28451;
  102.     kQ3ErrorInvalidSubObjectForObject = {TQ3Error}-28450;
  103.     kQ3ErrorUnresolvableReference = {TQ3Error}-28449;
  104.     kQ3ErrorUnknownObject        = {TQ3Error}-28448;
  105.     kQ3ErrorStorageInUse        = {TQ3Error}-28447;
  106.     kQ3ErrorStorageAlreadyOpen    = {TQ3Error}-28446;
  107.     kQ3ErrorStorageNotOpen        = {TQ3Error}-28445;
  108.     kQ3ErrorStorageIsOpen        = {TQ3Error}-28444;
  109.     kQ3ErrorFileAlreadyOpen        = {TQ3Error}-28443;
  110.     kQ3ErrorFileNotOpen            = {TQ3Error}-28442;
  111.     kQ3ErrorFileIsOpen            = {TQ3Error}-28441;
  112.     kQ3ErrorBeginWriteAlreadyCalled = {TQ3Error}-28440;
  113.     kQ3ErrorBeginWriteNotCalled    = {TQ3Error}-28439;
  114.     kQ3ErrorEndWriteNotCalled    = {TQ3Error}-28438;
  115.     kQ3ErrorReadStateInactive    = {TQ3Error}-28437;
  116.     kQ3ErrorStateUnavailable    = {TQ3Error}-28436;
  117.     kQ3ErrorWriteStateInactive    = {TQ3Error}-28435;
  118.     kQ3ErrorSizeNotLongAligned    = {TQ3Error}-28434;
  119.     kQ3ErrorFileModeRestriction    = {TQ3Error}-28433;
  120.     kQ3ErrorInvalidHexString    = {TQ3Error}-28432;
  121.     kQ3ErrorWroteMoreThanSize    = {TQ3Error}-28431;
  122.     kQ3ErrorWroteLessThanSize    = {TQ3Error}-28430;
  123.     kQ3ErrorReadLessThanSize    = {TQ3Error}-28429;
  124.     kQ3ErrorReadMoreThanSize    = {TQ3Error}-28428;
  125.     kQ3ErrorNoBeginGroup        = {TQ3Error}-28427;
  126.     kQ3ErrorSizeMismatch        = {TQ3Error}-28426;
  127.     kQ3ErrorStringExceedsMaximumLength = {TQ3Error}-28425;
  128.     kQ3ErrorValueExceedsMaximumSize = {TQ3Error}-28424;
  129.     kQ3ErrorNonUniqueLabel        = {TQ3Error}-28423;
  130.     kQ3ErrorEndOfContainer        = {TQ3Error}-28422;
  131.     kQ3ErrorUnmatchedEndGroup    = {TQ3Error}-28421;
  132.     kQ3ErrorFileVersionExists    = {TQ3Error}-28420;                {  View errors  }
  133.     kQ3ErrorViewNotStarted        = {TQ3Error}-28419;
  134.     kQ3ErrorViewIsStarted        = {TQ3Error}-28418;
  135.     kQ3ErrorRendererNotSet        = {TQ3Error}-28417;
  136.     kQ3ErrorRenderingIsActive    = {TQ3Error}-28416;
  137.     kQ3ErrorImmediateModeUnderflow = {TQ3Error}-28415;
  138.     kQ3ErrorDisplayNotSet        = {TQ3Error}-28414;
  139.     kQ3ErrorCameraNotSet        = {TQ3Error}-28413;
  140.     kQ3ErrorDrawContextNotSet    = {TQ3Error}-28412;
  141.     kQ3ErrorNonInvertibleMatrix    = {TQ3Error}-28411;
  142.     kQ3ErrorRenderingNotStarted    = {TQ3Error}-28410;
  143.     kQ3ErrorPickingNotStarted    = {TQ3Error}-28409;
  144.     kQ3ErrorBoundsNotStarted    = {TQ3Error}-28408;
  145.     kQ3ErrorDataNotAvailable    = {TQ3Error}-28407;
  146.     kQ3ErrorNothingToPop        = {TQ3Error}-28406;                {  Renderer Errors  }
  147.     kQ3ErrorUnknownStudioType    = {TQ3Error}-28405;
  148.     kQ3ErrorAlreadyRendering    = {TQ3Error}-28404;
  149.     kQ3ErrorStartGroupRange        = {TQ3Error}-28403;
  150.     kQ3ErrorUnsupportedGeometryType = {TQ3Error}-28402;
  151.     kQ3ErrorInvalidGeometryType    = {TQ3Error}-28401;
  152.     kQ3ErrorUnsupportedFunctionality = {TQ3Error}-28400;        {  Group Errors  }
  153.     kQ3ErrorInvalidPositionForGroup = {TQ3Error}-28399;
  154.     kQ3ErrorInvalidObjectForGroup = {TQ3Error}-28398;
  155.     kQ3ErrorInvalidObjectForPosition = {TQ3Error}-28397;        {  Transform Errors  }
  156.     kQ3ErrorScaleOfZero            = {TQ3Error}-28396;                {  String Errors  }
  157.     kQ3ErrorBadStringType        = {TQ3Error}-28395;                {  Attribute Errors  }
  158.     kQ3ErrorAttributeNotContained = {TQ3Error}-28394;
  159.     kQ3ErrorAttributeInvalidType = {TQ3Error}-28393;            {  Camera Errors  }
  160.     kQ3ErrorInvalidCameraValues    = {TQ3Error}-28392;                {  DrawContext Errors  }
  161.     kQ3ErrorBadDrawContextType    = {TQ3Error}-28391;
  162.     kQ3ErrorBadDrawContextFlag    = {TQ3Error}-28390;
  163.     kQ3ErrorBadDrawContext        = {TQ3Error}-28389;
  164.     kQ3ErrorUnsupportedPixelDepth = {TQ3Error}-28388;            {  Controller Errors  }
  165.     kQ3ErrorController            = {TQ3Error}-28387;                {  Tracker Errors  }
  166.     kQ3ErrorTracker                = {TQ3Error}-28386;                {  Another OS Error  }
  167.     kQ3ErrorWin32Error            = {TQ3Error}-28385;                {  Object Errors  }
  168.     kQ3ErrorTypeAlreadyExistsAndHasSubclasses = {TQ3Error}-28384;
  169.     kQ3ErrorTypeAlreadyExistsAndOtherClassesDependOnIt = {TQ3Error}-28383;
  170.     kQ3ErrorTypeAlreadyExistsAndHasObjectInstances = {TQ3Error}-28382; {  submit loop errors: if you ever get one of these check the previous }
  171.                                                                 {  error posted, it may be kQ3ErrorOutOfMemory.  If so you *may* be able }
  172.                                                                 {  to recover by freeing up some memory and trying again }
  173.     kQ3ErrorPickingLoopFailed    = {TQ3Error}-28381;
  174.     kQ3ErrorRenderingLoopFailed    = {TQ3Error}-28380;
  175.     kQ3ErrorWritingLoopFailed    = {TQ3Error}-28379;
  176.     kQ3ErrorBoundingLoopFailed    = {TQ3Error}-28378;
  177.  
  178.  
  179. TYPE
  180.     TQ3Warning                     = LONGINT;
  181. CONST
  182.     kQ3WarningNone                = {TQ3Warning}0;                {  General System  }
  183.     kQ3WarningInternalException    = {TQ3Warning}-28300;            {  Object Warnings  }
  184.     kQ3WarningNoObjectSupportForDuplicateMethod = {TQ3Warning}-28299;
  185.     kQ3WarningNoObjectSupportForDrawMethod = {TQ3Warning}-28298;
  186.     kQ3WarningNoObjectSupportForWriteMethod = {TQ3Warning}-28297;
  187.     kQ3WarningNoObjectSupportForReadMethod = {TQ3Warning}-28296;
  188.     kQ3WarningUnknownElementType = {TQ3Warning}-28295;
  189.     kQ3WarningTypeAndMethodAlreadyDefined = {TQ3Warning}-28294;
  190.     kQ3WarningTypeIsOutOfRange    = {TQ3Warning}-28293;
  191.     kQ3WarningTypeHasNotBeenRegistered = {TQ3Warning}-28292;    {  Parameter Warnings  }
  192.     kQ3WarningVector3DNotUnitLength = {TQ3Warning}-28291;        {  IO Warnings  }
  193.     kQ3WarningInvalidSubObjectForObject = {TQ3Warning}-28290;
  194.     kQ3WarningInvalidHexString    = {TQ3Warning}-28289;
  195.     kQ3WarningUnknownObject        = {TQ3Warning}-28288;
  196.     kQ3WarningInvalidMetafileObject = {TQ3Warning}-28287;
  197.     kQ3WarningUnmatchedBeginGroup = {TQ3Warning}-28286;
  198.     kQ3WarningUnmatchedEndGroup    = {TQ3Warning}-28285;
  199.     kQ3WarningInvalidTableOfContents = {TQ3Warning}-28284;
  200.     kQ3WarningUnresolvableReference = {TQ3Warning}-28283;
  201.     kQ3WarningNoAttachMethod    = {TQ3Warning}-28282;
  202.     kQ3WarningInconsistentData    = {TQ3Warning}-28281;
  203.     kQ3WarningReadLessThanSize    = {TQ3Warning}-28280;
  204.     kQ3WarningFilePointerResolutionFailed = {TQ3Warning}-28279;
  205.     kQ3WarningFilePointerRedefined = {TQ3Warning}-28278;
  206.     kQ3WarningStringExceedsMaximumLength = {TQ3Warning}-28277;    {  Memory Warnings  }
  207.     kQ3WarningLowMemory            = {TQ3Warning}-28276;
  208.     kQ3WarningPossibleMemoryLeak = {TQ3Warning}-28275;            {  View Warnings  }
  209.     kQ3WarningViewTraversalInProgress = {TQ3Warning}-28274;
  210.     kQ3WarningNonInvertibleMatrix = {TQ3Warning}-28273;            {  Quaternion Warning  }
  211.     kQ3WarningQuaternionEntriesAreZero = {TQ3Warning}-28272;    {  Renderer Warning  }
  212.     kQ3WarningFunctionalityNotSupported = {TQ3Warning}-28271;    {  DrawContext Warning  }
  213.     kQ3WarningInvalidPaneDimensions = {TQ3Warning}-28270;        {  Pick Warning  }
  214.     kQ3WarningPickParamOutside    = {TQ3Warning}-28269;            {  Scale Warnings  }
  215.     kQ3WarningScaleEntriesAllZero = {TQ3Warning}-28268;
  216.     kQ3WarningScaleContainsNegativeEntries = {TQ3Warning}-28267; {  Generic Warnings  }
  217.     kQ3WarningParameterOutOfRange = {TQ3Warning}-28266;            {  Extension Warnings  }
  218.     kQ3WarningExtensionNotLoading = {TQ3Warning}-28265;            {  Object Warnings  }
  219.     kQ3WarningTypeAlreadyRegistered = {TQ3Warning}-28264;
  220.     kQ3WarningTypeSameVersionAlreadyRegistered = {TQ3Warning}-28263;
  221.     kQ3WarningTypeNewerVersionAlreadyRegistered = {TQ3Warning}-28262; {  Invalid Group Object  }
  222.     kQ3WarningInvalidObjectInGroupMetafile = {TQ3Warning}-28261;
  223.  
  224.  
  225.  
  226. TYPE
  227.     TQ3Notice                     = LONGINT;
  228. CONST
  229.     kQ3NoticeNone                = {TQ3Notice}0;
  230.     kQ3NoticeDataAlreadyEmpty    = {TQ3Notice}-28100;
  231.     kQ3NoticeMethodNotSupported    = {TQ3Notice}-28099;
  232.     kQ3NoticeObjectAlreadySet    = {TQ3Notice}-28098;
  233.     kQ3NoticeParameterOutOfRange = {TQ3Notice}-28097;
  234.     kQ3NoticeFileAliasWasChanged = {TQ3Notice}-28096;
  235.     kQ3NoticeMeshVertexHasNoComponent = {TQ3Notice}-28095;
  236.     kQ3NoticeMeshInvalidVertexFacePair = {TQ3Notice}-28094;
  237.     kQ3NoticeMeshEdgeVertexDoNotCorrespond = {TQ3Notice}-28093;
  238.     kQ3NoticeMeshEdgeIsNotBoundary = {TQ3Notice}-28092;
  239.     kQ3NoticeDrawContextNotSetUsingInternalDefaults = {TQ3Notice}-28091;
  240.     kQ3NoticeInvalidAttenuationTypeUsingInternalDefaults = {TQ3Notice}-28090;
  241.     kQ3NoticeBrightnessGreaterThanOne = {TQ3Notice}-28089;
  242.     kQ3NoticeScaleContainsZeroEntries = {TQ3Notice}-28088;
  243.     kQ3NoticeSystemAlreadyInitialized = {TQ3Notice}-28087;
  244.     kQ3NoticeViewSyncCalledAgain = {TQ3Notice}-28086;
  245.     kQ3NoticeFileCancelled        = {TQ3Notice}-28085;
  246.  
  247.  
  248. TYPE
  249. {$IFC TYPED_FUNCTION_POINTERS}
  250.     TQ3ErrorMethod = PROCEDURE(firstError: TQ3Error; lastError: TQ3Error; reference: LONGINT); C;
  251. {$ELSEC}
  252.     TQ3ErrorMethod = ProcPtr;
  253. {$ENDC}
  254.  
  255. {$IFC TYPED_FUNCTION_POINTERS}
  256.     TQ3WarningMethod = PROCEDURE(firstWarning: TQ3Warning; lastWarning: TQ3Warning; reference: LONGINT); C;
  257. {$ELSEC}
  258.     TQ3WarningMethod = ProcPtr;
  259. {$ENDC}
  260.  
  261. {$IFC TYPED_FUNCTION_POINTERS}
  262.     TQ3NoticeMethod = PROCEDURE(firstNotice: TQ3Notice; lastNotice: TQ3Notice; reference: LONGINT); C;
  263. {$ELSEC}
  264.     TQ3NoticeMethod = ProcPtr;
  265. {$ENDC}
  266.  
  267. {*****************************************************************************
  268.  **                                                                             **
  269.  **                                Error Routines                                 **
  270.  **                                                                             **
  271.  ****************************************************************************}
  272. FUNCTION Q3Error_Register(errorPost: TQ3ErrorMethod; reference: LONGINT): TQ3Status; C;
  273. FUNCTION Q3Warning_Register(warningPost: TQ3WarningMethod; reference: LONGINT): TQ3Status; C;
  274. FUNCTION Q3Notice_Register(noticePost: TQ3NoticeMethod; reference: LONGINT): TQ3Status; C;
  275. {
  276.  *  Getting error codes -
  277.  *    Clears error type on next entry into system (except all of these 
  278.  *  error calls), and returns the last error, and optionally the 
  279.  *    first error. The parameter to these "_Get" calls may be NULL.
  280.  }
  281. FUNCTION Q3Error_Get(VAR firstError: TQ3Error): TQ3Error; C;
  282. FUNCTION Q3Error_IsFatalError(error: TQ3Error): TQ3Boolean; C;
  283. FUNCTION Q3Warning_Get(VAR firstWarning: TQ3Warning): TQ3Warning; C;
  284. FUNCTION Q3Notice_Get(VAR firstNotice: TQ3Notice): TQ3Notice; C;
  285. {$IFC TARGET_OS_MAC }
  286. FUNCTION Q3MacintoshError_Get(VAR firstMacErr: OSErr): OSErr; C;
  287. {$ENDC}  {TARGET_OS_MAC}
  288.  
  289.  
  290. {$ALIGN RESET}
  291. {$POP}
  292.  
  293. {$SETC UsingIncludes := QD3DErrorsIncludes}
  294.  
  295. {$ENDC} {__QD3DERRORS__}
  296.  
  297. {$IFC NOT UsingIncludes}
  298.  END.
  299. {$ENDC}
  300.